package py.progweb.sgc.model;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Set;


/**
 * The persistent class for the GRUPOREGLAS database table.
 * 
 */
@Entity
@Table(name="GRUPOREGLAS")
public class GrupoRegla extends EntidadBase implements Serializable {
	private static final long serialVersionUID = 1L;
	private long codGruporeglaPk;
	private Timestamp fecFechaCreacion;
	private Date timeIniperhora;
	private Long numIniPermes;
	private Long numIniperdiasemana;
	private String strDescrip;
	private String strNombre;
	private String strUsrCreacion;
	private Set<Proceso> procesos;
	private Set<VersionGrupoRegla> versionGrupoReglas;

    public GrupoRegla() {
    }


	@Id
	@SequenceGenerator(name="GRUPOREGLAS_CODGRUPOREGLAPK_GENERATOR", sequenceName="SQ_PK_GRUPOREGLAS",allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="GRUPOREGLAS_CODGRUPOREGLAPK_GENERATOR")
	@Column(name="COD_GRUPOREGLA_PK")
	public long getCodGruporeglaPk() {
		return this.codGruporeglaPk;
	}

	public void setCodGruporeglaPk(long codGruporeglaPk) {
		this.codGruporeglaPk = codGruporeglaPk;
	}


	@Column(name="FEC_FECHA_CREACION")
	public Timestamp getFecFechaCreacion() {
		return this.fecFechaCreacion;
	}

	public void setFecFechaCreacion(Timestamp fecFechaCreacion) {
		this.fecFechaCreacion = fecFechaCreacion;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="TIME_INIPERHORA")
	public Date getTimeIniperhora() {
		return this.timeIniperhora;
	}

	public void setTimeIniperhora(Date timeIniperhora) {
		this.timeIniperhora = timeIniperhora;
	}


	@Column(name="NUM_INIPERMES")
	public Long getNumIniPermes() {
		return this.numIniPermes;
	}

	public void setNumIniPermes(Long numIniPermes) {
		this.numIniPermes = numIniPermes;
	}


	@Column(name="NUM_INIPERDIASEMANA")
	public Long getNumIniperdiasemana() {
		return this.numIniperdiasemana;
	}

	public void setNumIniperdiasemana(Long numIniperdiasemana) {
		this.numIniperdiasemana = numIniperdiasemana;
	}


	@Column(name="STR_DESCRIP")
	public String getStrDescrip() {
		return this.strDescrip;
	}

	public void setStrDescrip(String strDescrip) {
		this.strDescrip = strDescrip;
	}


	@Column(name="STR_NOMBRE")
	public String getStrNombre() {
		return this.strNombre;
	}

	public void setStrNombre(String strNombre) {
		this.strNombre = strNombre;
	}


	@Column(name="STR_USR_CREACION")
	public String getStrUsrCreacion() {
		return this.strUsrCreacion;
	}

	public void setStrUsrCreacion(String strUsrCreacion) {
		this.strUsrCreacion = strUsrCreacion;
	}


	//bi-directional many-to-one association to Proceso
	@OneToMany(mappedBy="grupoRegla")
	public Set<Proceso> getProcesos() {
		return this.procesos;
	}

	public void setProcesos(Set<Proceso> procesos) {
		this.procesos = procesos;
	}
	

	//bi-directional many-to-one association to Versiongruporegla
	@OneToMany(mappedBy="grupoRegla")
	public Set<VersionGrupoRegla> getVersionGrupoReglas() {
		return this.versionGrupoReglas;
	}

	public void setVersionGrupoReglas(Set<VersionGrupoRegla> versiongruporeglas) {
		this.versionGrupoReglas = versiongruporeglas;
	}


	@Override
	public Object getPK() {
		return getCodGruporeglaPk();
	}
	
}